import request from '@/config/axios'

// 论文 VO
export interface StudentPaperVO {
  id: string // 主键
  processInstanceId: string // 流程实例ID
  accountId: number // 账号ID
  studentCode: string // 冗余-学号
  studentName: string // 冗余-姓名
  mentorId: number // 导师ID
  mentorCode: string // 导师
  mentorName: string // 导师姓名
  paperTitle: string // 论文题目
  paperTime: Date // 论文发表时间
  paperType: string // 论文类型
  paperClass: string // 论文等级(废弃)
  primaryAuthor: string // 第一作者姓名
  personalRanking: string // 本人排名
  parallelCount: string // 并列人数
  parallelRanking: string // 并列排名
  casRanking: string // 署名单位中科大排名
  imrRanking: string // 署名单位金属所排名
  attachment: string // 附件
  acceptanceLetter: string // 接收函
  journalId: string // 期刊ID
  journalName: string // 期刊名称
  journalIssn: string // 期刊号
  journalDistrict: string // 分区
  journalImpactFactor: string // 影响因子
  retrievalStatus: string // 收录情况
  publicationStatus: string // 录用或发表情况
  publicationNumber: string // 发表刊次
  retrievalNumber: string // DOI号
  receiveTime: Date // 接收时间
  onlineTime: Date // 在线时间
  publishTime: Date // 发表时间
  remark: string // 备注
  negative: boolean // 是否在负面期刊库中
  negativeMessage: string // 负面信息
  reviewStatus: string // 审核状态
  reviewSubmitTime: Date // 审核提交时间
  reviewTime: Date // 审核时间
}

export interface StudentPaperAuditReqVO {
  id: string // 主键
  reviewStatus: string // 审核状态
  reviewComments: string // 审核意见
}

// 论文 API
export const StudentPaperApi = {
  // 查询论文分页
  getStudentPaperPage: async (params: any) => {
    return await request.get({ url: `/core/student-paper/page`, params })
  },

  // 查询论文详情
  getStudentPaper: async (id: string) => {
    return await request.get({ url: `/core/student-paper/get?id=` + id })
  },

  // 新增论文
  createStudentPaper: async (data: StudentPaperVO) => {
    return await request.post({ url: `/core/student-paper/create`, data })
  },

  // 修改论文
  updateStudentPaper: async (data: StudentPaperVO) => {
    return await request.put({ url: `/core/student-paper/update`, data })
  },

  // 删除论文
  deleteStudentPaper: async (id: string) => {
    return await request.delete({ url: `/core/student-paper/delete?id=` + id })
  },

  // 导出论文 Excel
  exportStudentPaper: async (params) => {
    return await request.download({ url: `/core/student-paper/export-excel`, params })
  },

  // 审核论文
  auditStudentPaper: async (data: StudentPaperAuditReqVO) => {
    return await request.put({ url: `/core/student-paper/audit`, data })
  },

  // 获得论文审核数据
  getStudentPaperAudit: async (id: string) => {
    return await request.get({ url: `/core/student-paper/get-audit-detail?id=` + id })
  }
}
